package com.drcurd.mapper;

import com.drcurd.entity.Employee;
import com.drcurd.dto.EmployeeQueryDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface EmployeeMapper {
    
    // 查询所有员工
    List<Employee> selectAll();
    
    // 根据ID查询员工
    Employee selectById(@Param("id") Long id);
    
    // 新增员工
    int insert(Employee employee);
    
    // 更新员工
    int update(Employee employee);
    
    // 删除员工
    int deleteById(@Param("id") Long id);
    
    // 条件查询员工
    List<Employee> selectByCondition(EmployeeQueryDTO queryDTO);
    
    // 条件查询总数
    int selectCountByCondition(EmployeeQueryDTO queryDTO);
    
    // 分页查询
    List<Employee> selectByPage(@Param("offset") Integer offset, @Param("size") Integer size);
    
    // 查询总数
    int selectCount();
} 